
/***************************************************************
 *  Radio.java        
 *  Fecha: 09/07/12
 *  Carnet: 11033
 *  @author Juan Pablo Argueta Cortes
 *  Interfaz que modela un Radio
 ***************************************************************/
public interface Radio {
    
    public final int AM_MIN = 530;
    public final int AM_MAX = 1610;
    public final float FM_MIN = (float) 87.9;
    public final float FM_MAX = (float) 107.9;
    public final int AM_D = 10;
    public final float FM_D = (float) 0.2000; 
    
    /**
     * Método que enciende o apaga la Radio según su estado actual.
     * @return
     */
    public abstract void onOff();
    
    /**
     * Método que cambia la Banda en la que esta configurada la radio.
     * @return
     */
    public abstract void cambiarBanda();
    
    /**
     * Método que cambia la Frecuencia actual de la Radio.
     * @return
     */
    public abstract void cambiarFrecuencia();
    
    /**
     * Método que guarda en memoria una estación.
     * @param boton Estación a Guardar.
     * @return
     */
    public abstract void guardarEstacion(int boton);
    
    /**
     * Método que selecciona una estación guardada en memoria.
     * @param boton Estación seleccionada.
     * @return
     */
    public abstract void seleccionarEstacion(int boton);
    
    /**
     * 
     * @return Frecuencia seleccionada actualmente
     */
    public abstract float getFrecuencia();
    
    /**
     * 
     * @return True si el radio esta¡ encendido, false de lo contrario.
     */
    public abstract boolean isOn();
    
    /**
     * 
     * @return True si la banda seleccionada es AM, False de lo contrario
     */
    public abstract boolean isAM();
    
    /**
     * 
     * @return True si la banda seleccionada es FM, False de lo contrario
     */
    public abstract boolean isFM();
}
